home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / bin / gdebi-gtk < prev    next >
Text File  |  2009-09-23  |  3KB  |  97 lines

  1. #!/usr/bin/python
  2. #
  3. # Copyright (c) 2005-2009 Canonical Ltd
  4. #
  5. # AUTHOR:
  6. # Michael Vogt <mvo@ubuntu.com>
  7. #
  8. # This file is part of GDebi
  9. #
  10. # GDebi is free software; you can redistribute it and/or
  11. # modify it under the terms of the GNU General Public License as published
  12. # by the Free Software Foundation; either version 2 of the License, or (at
  13. # your option) any later version.
  14. #
  15. # GDebi is distributed in the hope that it will be useful,
  16. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  18. # General Public License for more details.
  19. #
  20. # You should have received a copy of the GNU General Public License
  21. # along with GDebi; if not, write to the Free Software
  22. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  23. #
  24.  
  25. import sys
  26. import apt
  27. import os.path
  28.  
  29.  
  30. from optparse import OptionParser
  31. from GDebi.GDebi import GDebi
  32.  
  33. from gettext import gettext as _
  34. import gettext
  35.  
  36. import pygtk
  37. pygtk.require("2.0")
  38. import gtk
  39.  
  40.  
  41. if __name__ == "__main__":
  42.     data="/usr/share/gdebi"
  43.  
  44.     localesApp="gdebi"
  45.     localesDir="/usr/share/locale"
  46.     gettext.bindtextdomain(localesApp, localesDir)
  47.     gettext.textdomain(localesApp)
  48.  
  49.     parser = OptionParser()
  50.     parser.add_option("-n", "--non-interactive",
  51.                       action="store_true", dest="non_interactive",
  52.                       default=False,
  53.                       help=_("Run non-interactive (dangerous!)"))
  54.     parser.add_option("--auto-close", "",
  55.                       action="store_true", default=False,
  56.                       help=_("Auto close when the install is finished"))
  57.     parser.add_option("--datadir", "", default="",
  58.                       help=_("Use alternative datadir"))
  59.     (options, args) = parser.parse_args()
  60.  
  61.     if options.datadir:
  62.         data = options.datadir
  63.  
  64.     try:
  65.         gtk.init_check()
  66.     except RuntimeError, e:
  67.         sys.stderr.write("Can not start %s: %s. Exiting\n" % (sys.argv[0], e))
  68.         sys.exit(1)
  69.  
  70.     afile = ""
  71.     if len(args) >= 1:
  72.         afile = args[0]
  73.         
  74.     try:
  75.         app = GDebi(datadir=data,options=options,file=afile)
  76.     except SystemError, e:
  77.         err_header = _("Software index is broken")
  78.         err_body = _("This is a major failure of your software " 
  79.                     "management system. Please check for broken packages "
  80.                     "with synaptic, check the file permissions and "
  81.                     "correctness of the file '/etc/apt/sources.list' and "
  82.                     "reload the software information with: "
  83.                     "'sudo apt-get update' and 'sudo apt-get install -f'."
  84.                     )
  85.         dia = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR,
  86.                                 gtk.BUTTONS_OK, "")
  87.         dia.set_markup("<b><big>%s</big></b>" % err_header)
  88.         dia.format_secondary_text(err_body)
  89.         dia.run()
  90.         sys.exit(1)
  91.         
  92.     if options.non_interactive == True:
  93.         app.on_button_install_clicked(None)
  94.         if options.auto_close == True:
  95.             sys.exit()
  96.     app.run()
  97.